package br.com.marcelo.reservasis.client.services.hospede;

import br.com.aroeirasoftware.gwtcomponents.client.query.ASQuery;
import br.com.aroeirasoftware.gwtcomponents.client.query.ASQueryResult;
import br.com.marcelo.reservasis.domain.model.Hospede;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;

/**
 *
 * @author Marcelo Rodrigues
 */
@RemoteServiceRelativePath("HospedeUIService.rpc")
public interface HospedeUIService extends RemoteService {

    public Integer salvar(Hospede arg0) throws RuntimeException;

    public void atualizar(Hospede arg0) throws RuntimeException;

    public void excluir(Hospede arg0) throws RuntimeException;

    public Hospede getPorId(Integer arg0) throws RuntimeException;

    public ASQueryResult<Hospede> getPorConsulta(ASQuery arg0) throws RuntimeException;

    public static class Async {

        private static final HospedeUIServiceAsync INSTANCE = GWT.create(HospedeUIService.class);

        public static HospedeUIServiceAsync getInstance() {
            return INSTANCE;
        }
    }
}
